package ga;

import java.util.ArrayList;

public class listaObjCampo {

		private ArrayList<ObjCampo> lista;
		private int tam = 0;
		private boolean error;

		public boolean isError() {
			return error;
		}

		public void setError(boolean error) {
			this.error = error;
		}

		public listaObjCampo(ArrayList<ObjCampo> lista) {
			this.lista = lista;
		}
		
		public listaObjCampo(){
			this.lista = new ArrayList<ObjCampo>();
		}

		public boolean existeId(String id) {
			boolean resp = false;
			for (int i = 0; i < lista.size(); i++)
				if (lista.get(i).getId().equals(id))
					resp = true;
			return resp;
		}
		
		public ObjTipo dameInfoCampo(String id){
			for(int i=0; i<lista.size();i++)
				if(lista.get(i).getId().equals(id)){
					return lista.get(i).getTipo();
				}
			return new ObjTipo("Error en dameInfoCampo de: "+id);
		}

		public ArrayList<ObjCampo> getLista() {
			return lista;
		}

		public void setLista(ArrayList<ObjCampo> lista) {
			this.lista = lista;
		}

		public void anyadeCampo(ObjCampo cam) {
			this.lista.add(cam);		
		}
		
		public int dameDespCampo(String id){
			for(int i=0; i<lista.size();i++)
				if(lista.get(i).getId().equals(id)){
					return lista.get(i).getDesp();
				}
			return -1;
		}

		public int getTam() {
			return tam;
		}

		public void setTam(int tam) {
			this.tam = tam;
		}

		@Override
		public int hashCode() {
			final int prime = 31;
			int result = 1;
			result = prime * result + (error ? 1231 : 1237);
			result = prime * result + ((lista == null) ? 0 : lista.hashCode());
			result = prime * result + tam;
			return result;
		}

		@Override
		public boolean equals(Object obj) {
			if (this == obj)
				return true;
			if (obj == null)
				return false;
			if (getClass() != obj.getClass())
				return false;
			listaObjCampo other = (listaObjCampo) obj;
			if (error != other.error)
				return false;
			if (lista == null) {
				if (other.lista != null)
					return false;
			} else if (!lista.equals(other.lista))
				return false;
			if (tam != other.tam)
				return false;
			return true;
		}
	
}
